import static org.junit.Assert.*;

import org.junit.Before;
import org.junit.Test;

public class TestRubrica {
	Rubrica rubrica;

	@Before
	public void setUpBeforeMethod() {
		rubrica = new RubricaIterabile("Test", 200);
	}

	@Test
	public void testInserimentoCercaRimuovi() {
		assertEquals(0, rubrica.getDim());
		assertEquals(200, rubrica.getMaxDim());
		assertTrue(rubrica.aggiungi("Garrone	Andrea XXX5555"));
		assertTrue(rubrica.aggiungi("Vallone	Vanessa   XXX5555"));
		assertEquals(2, rubrica.getDim());
		assertTrue(rubrica.aggiungi("Daneo	Lorenzo XXX8877"));
		assertTrue(rubrica.aggiungi("Gallo	Massimiliano YYYY5555"));
		rubrica.aggiungi("Daneo	Lorenzo YYY8877");
		assertFalse(rubrica.aggiungi("Gallo	Massimiliano YYYY5555"));
		assertEquals(5, rubrica.getDim());
		assertEquals(2, (rubrica.cerca("ga")).size());
		assertEquals(0, (rubrica.cercaCaseSensitive("ga")).size());
		assertEquals(4, (rubrica.cercaSubstr("NE")).size());
		rubrica.rimuovi(rubrica.cerca("ga"));
		assertEquals(3, rubrica.getDim());
	    assertEquals(0, (rubrica.cerca("ga")).size());
		rubrica.aggiungi("Gallo	Massimiliano XXXX5555");
	    assertEquals(1, (rubrica.cerca("ga")).size());
	    System.out.println(rubrica);
	}
	
}
